package com.yonyou.cyxdms.basedata.client.domains.vo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLongLocalDateTimeDeserializer;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLongLocalDateTimeSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 根据id查询主数据
 *
 * @author renwd
 * @since 2019/7/24
 */
@Data
public class VsMasterInfoVO {

    private Integer productId;
    private String ownerCode;
    private String appId;
    private String productCode;
    private String productName;
    private Integer dataSources;
    private Integer brandId;
    private Integer seriesId;
    private Integer modelId;
    private Integer packageId;
    @ApiModelProperty(value = "外饰色id", name = "colorId")
    private Long colorId;
    private String brandName;
    private String seriesName;
    private String modelName;
    private String packageName;
    @ApiModelProperty(value = "外饰色", name = "colorName")
    private String colorName;
    @ApiModelProperty(value = "内饰色id", name = "trimColor")
    private String trimColor;
    @ApiModelProperty(value = "内饰色", name = "trimColorName")
    private String trimColorName;
    private Integer isPurchase;
    @ApiModelProperty(value = "是否可销", name = "isSales")
    private Integer isSales;
    private String isSend;

    @ApiModelProperty(value = "正常，退市", name = "productStatus")
    private String productStatus;

    private Integer isValid;
    @ApiModelProperty(value = "车厂指导价", name = "oemDirectivePrice")
    private Double oemDirectivePrice;

    @JsonDeserialize(using = JsonLongLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLongLocalDateTimeSerializer.class)
    private LocalDateTime enterDate;

    @JsonDeserialize(using = JsonLongLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLongLocalDateTimeSerializer.class)
    private LocalDateTime exeuntDate;
    private String remark;

    @ApiModelProperty(value = "车辆来源", name = "vehicleSources")
    private Integer vehicleSources;
    private Integer recordVersion;
    private String createdBy;

    @JsonDeserialize(using = JsonLongLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLongLocalDateTimeSerializer.class)
    private LocalDateTime createdAt;
    private String updatedBy;

    @JsonDeserialize(using = JsonLongLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLongLocalDateTimeSerializer.class)
    private LocalDateTime updatedAt;

    private String sourceId;

    @JsonDeserialize(using = JsonLongLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLongLocalDateTimeSerializer.class)
    private LocalDateTime sourceChangedAt;

    @ApiModelProperty(value = "销售指导价", name = "directivePrice")
    private Double directivePrice;

    @ApiModelProperty(value = "新能源车厂指导价")
    private Double energyOemDirectivePrice;

}
